package ru.zombator.taskman.core.query;

import java.io.IOException;

/**
 * Пакет, передающий данные определенного типа
 * 
 * @author nvamelichev
 */
public interface ITypedPacket {
	/**
	 * Задает сохраненный в пакете объект
	 * 
	 * @param object
	 *            - объект
	 * @throws IOException
	 *             не удалось сериализовать объект
	 */
	void setObject(Object object) throws IOException;

	/**
	 * @return передаваемый в пакете объект
	 */
	Object asObject();
	/**
	 * @return "сырое" представление пакета
	 */
	IPacket asUntyped();
}
